import builtins
# print(dir(builtins))

l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def func(x):
    return x*x

mp = map(func, l) # map函数返回一个生成器对象，生成器对象是一个可迭代对象，可以用for循环遍历
print(mp) # <map object at 0x000002199B0344C0>
print(list(mp)) # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

# reduce() 减少
from functools import reduce
l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def func(x, y): # 前两个元素相加，然后和下一个元素相加，直到最后一个元素
    return x + y